Page({
  data: {
    countDownVisible: false,
    mobile: '13511111111',
    code: ''
  },
  // 提交登录数据
  async clickLogin() {
    if (!this.verifyMobile(this.data.mobile)) return
    if (!this.verifyCode(this.data.code)) return
    // 验证通过，发请求到服务器
    const { code, data: succ } = await wx.http.post('/login', {
      mobile: this.data.mobile,
      code: this.data.code
    })
    // console.log(res);
    // 判断
    if (!code === 10000) return wx.utils.toast()
    // 请求成功 存token
    const token = `Bearer ${succ.token}`
    // const refreshToken = `Bearer ${succ.refreshToken}`
    // // 存到storage中
    // wx.setStorageSync('token', token)
    // wx.setStorageSync('refreshToken', refreshToken)
    // // 存到App中（全局）
    const app = getApp()
    app.token = token
    // console.log(succ, 'succ');
    app.setToken(succ.token, 'token')
    app.setToken(succ.refreshToken, 'refreshToken')
    // 跳转到原来的页面
    wx.redirectTo({ url: this.data.redirectURL })
  },
  onLoad({ redirectURL }) {
    this.setData({ redirectURL })
  },
  // 校验验证码
  verifyCode() {
    const reg = /^\d{6}$/
    const valid = reg.test(this.data.code)
    if (!valid) return wx.utils.toast('验证码错误')
    return valid
  },
  // 校验手机号
  verifyMobile(mobile) {
    const reg = /^1[3-9][0-9]{9}$/
    const valid = reg.test(mobile)
    if (!valid) return wx.utils.toast('手机号错误')
    return valid
  },
  // 点击获取 验证码
  async getCode() {
    const valid = this.verifyMobile(this.data.mobile)
    if (!valid) return
    // console.log('验证通过');
    //  发送请求到服务器获取验证码
    const { code, data: resCode } = await wx.http.get('/code', { mobile: this.data.mobile })
    // console.log(res, 'res');
    if (!code == 10000) return wx.utils.toast()
    // 请求成功
    wx.showToast({
      title: resCode.code,
    })
    // 开启倒计时
    this.setData({
      code: resCode.code,
      countDownVisible: true
    })
  },
  countDownChange(ev) {
    // console.log(ev, 'ev');
    this.setData({
      timeData: ev.detail,
      countDownVisible: ev.detail.minutes === 1 || ev.detail.seconds > 0,
    })
  },
})
